package modelo.estrategias;


import modelo.moviles.*;

public class EstrategiaLineaRectaIdayVuelta extends EstrategiaDeVuelo {

	public EstrategiaLineaRectaIdayVuelta(){
		setCantidadPasos(2);
		setPasoActual(1);
	}

	/* "Le cambia la posicion al movil" */
	public void adelantarMovil(Movil movil){
		if (this.getPasoActual()== 1 && movil.getColumna()>= movil.getNivel().getCantColumnas() && movil.getFila() >= movil.getNivel().getCantFilas()){		
			movil.estallar();		
		} else{
			
			if (getPasoActual() == 1){
				if (movil.getFila() < movil.getNivel().getCantFilas()){
					movil.setFila(movil.getFila() + movil.getFactorMovimiento());
				} else {
					movil.setColumna(movil.getColumna() + movil.getFactorMovimiento());
					setPasoActual(buscarSiguientePaso(getPasoActual())); 
				}
			}else{
				if (movil.getFila() > 0  ) {
					movil.setFila(movil.getFila() - movil.getFactorMovimiento());
				} else {
					movil.setColumna(movil.getColumna() + movil.getFactorMovimiento());  
					setPasoActual(buscarSiguientePaso(getPasoActual())); 
				}
			}

		}
	}
}

